package 剑指offer.demo6;

//https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?
/*
递归如果只靠语义理解而不是纠结其调用结构的话将会变得很简单
 */
public class 二叉树的深度 {
    //方法语义：给定树求的其最大深度
    public int TreeDepth(TreeNode root) {
        if (root == null){
            return 0;
        }
        //返回左子树和右子树之间最大深度 + 1就是当前树最大深度
        return Math.max(TreeDepth(root.left) , TreeDepth(root.right)) + 1;
    }
    //题目给定二叉树
    public class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;

        public TreeNode(int val) {
            this.val = val;

        }

    }
}
